// miniprogram/pages/post/post.js
Page({
  data: {
    niming: false,
    imgs: [],
    Imgs: [],
    fileID: [],
    wbnr: "",
    index: [0, 0],
    heji: [
      ["健身心得", "减肥心得", "跳蚤市场"]
    ],
    sy: "0/800",
    Cheight: 800,
    Cwidth: 800,
    pixe: 0,
    imginfo: {},

    title: "", // 新添加的标题字段
    wbnr: "", // 清空文本框内容
    imgs: [] // 清空图片列表
  },

  // 选择分类改变事件
  kaishixuanze(e) {
    var data = {
      index: this.data.index,
      heji: this.data.heji
    };
    switch (e.detail.column) {
      case 0:
        switch (e.detail.value) {
          case 0:
            data.index = [0, 0];
            break;
          case 1:
            data.index = [1, 0];
            break;
          case 2:
            data.index = [2, 0];
            break;
        }
        break;
      case 1:
        break;
    }
    this.setData(data);
  },


  // 文本内容输入事件
  wtitle(e) {
    this.setData({
      wtitle: e.detail.value,
      syt: e.detail.value.length + "/50"
    });
  },

  wbnr(e) {
    this.setData({
      wbnr: e.detail.value,
      sy: e.detail.value.length + "/500"
    });
  },

  // 选择图片
  chooseImg() {
    var that = this;
    if (that.data.imgs.length >= 1) {
      // 如果已经选择了一张图片，弹出提示框
      wx.showModal({
        title: '提示',
        content: '您已经选择了一张图片，是否替换为新图片？',
        success(res) {
          if (res.confirm) {
            // 如果用户选择“是”，则替换图片
            wx.chooseImage({
              count: 1,
              sizeType: ["original", "compressed"],
              sourceType: ["album", "camera"],
              success(res) {
                // 替换图片
                that.uploadImages([res.tempFilePaths[0]]);
              }
            });
          } else if (res.cancel) {
            // 如果用户选择“否”，则不进行任何操作
            console.log('用户点击取消');
          }
        }
      });
    } else {
      // 如果还没有选择图片，直接选择一张
      wx.chooseImage({
        count: 1,
        sizeType: ["original", "compressed"],
        sourceType: ["album", "camera"],
        success(res) {
          // 上传图片
          that.uploadImages([res.tempFilePaths[0]]);
        }
      });
    }
  },

  // 替换图片
  replaceImage(imgPath) {
    var that = this;
    wx.uploadFile({
      url: 'http://localhost:8880/tool/upload',
      filePath: imgPath,
      name: 'file',
      success(res) {
        var data = JSON.parse(res.data);
        if (data.flag === true) {
          // 如果上传成功，替换图片
          var imgUrl = '' + data.data;
          that.setData({
            imgs: [imgUrl] // 替换为新图片的URL
          });
        } else {
          console.error("图片上传失败:", data.msg);
        }
      },
      fail(err) {
        console.error("图片上传失败！:", err);
      }
    });
  },

  // 上传图片到七牛云
  uploadImages(imgPaths) {
    var that = this;
    imgPaths.forEach(imgPath => {
      wx.uploadFile({
        url: 'http://localhost:8880/tool/upload',
        filePath: imgPath,
        name: 'file',
        success(res) {
          var data = JSON.parse(res.data);
          if (data.flag === true) {
            // 如果上传成功，替换或添加图片
            var imgUrl = '' + data.data;
            if (that.data.imgs.length >= 1) {
              // 如果已经有图片，替换第一张图片
              that.setData({
                imgs: [imgUrl]
              });
            } else {
              // 如果没有图片，添加新图片
              that.setData({
                imgs: that.data.imgs.concat(imgUrl)
              });
            }
          } else {
            console.error("图片上传失败:", data.msg);
          }
        },
        fail(err) {
          console.error("图片上传失败！:", err);
        }
      });
    });
  },


  // 删除图片
  deleteImg(e) {
    var imgs = this.data.imgs;
    var index = e.currentTarget.dataset.index;
    imgs.splice(index, 1);
    this.setData({
      imgs: imgs
    });
  },

  // 预览图片
  previewImg(e) {
    var index = e.currentTarget.dataset.index;
    var imgs = this.data.imgs;
    wx.previewImage({
      current: imgs[index],
      urls: imgs
    });
  },

  // 提交数据
  tijiao: function (e) {
    var that = this; // 保存页面实例的引用

    var title = that.data.wtitle;
    var content = that.data.wbnr; // 使用 that 替代 this
    var imgUrl = ""; // 图片路径，根据需求拼接成字符串
    if (that.data.imgs.length > 0) {
      imgUrl = that.data.imgs.join(",");
    }
    var authorId = wx.getStorageSync('id');
    var userName = wx.getStorageSync('userName')
    console.log("数据：" + authorId + userName)
    var idType = that.data.index[0] + 1;

    // 清空文本框内容
    that.setData({
      wtitle: "",
      wbnr: ""
    });

    // 清空图片列表
    that.setData({
      imgs: []
    });

    // 调用接口提交数据
    wx.request({
      url: "http://localhost:8880/shequ/wz/add",
      method: "POST",
      data: {
        title: title,
        content: content,
        imgUrl: imgUrl,
        authorId: authorId,
        authorName: userName,
        idType: idType
      },
      header: {
        "content-type": "application/json"
      },
      success(res) {
        // 提交成功，处理返回结果
        console.log("数据：" + res.data);
        // 根据接口返回的结果进行相应处理，比如提示用户发布成功等
      },
      fail(err) {
        // 提交失败，处理错误信息
        console.error("请求失败：", err);
        // 根据错误信息提示用户发布失败等
      }
    });
  }
});